<?php
/**
 * Description of yweather
 *
 * @author phuchv
 */
//get the weather data from Yahoo
function get_current_weather_data($woeid, $tempscale, $base_url) {

    // Get weather data
    $query_url = 'http://weather.yahooapis.com/forecastrss?w=' . $woeid . '&u=' . $tempscale;
    $xml = simplexml_load_file($query_url);
    $xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');

    $location = $xml->channel->xpath('yweather:location');

    if(!empty($location)) {

        foreach($xml->channel->item as $item) {

            // Initialize setlocale and display date using localized format
            setlocale(LC_ALL, "vi_VN.UTF-8");

            // Translatable array of days
            $days = array(
                'Mon' => "Thứ 2",
                'Tue' => "Thứ 3",
                'Wed' => "Thứ 4",
                'Thu' => "Thứ 5",
                'Fri' => "Thứ 6",
                'Sat' => "Thứ 7",
                'Sun' => "Chủ nhật"
            );

            // Translatable array of conditions
            $conditions = array(
                'Tornado' => "Bão cuồng phong",
                'Tropical Storm' => "Bão nhiệt đới",
                'Hurricane' => "Bão cấp",
                'Severe Thunderstorms' => "Bão cấp",
                'Mixed Rain And Snow' => "Mưa tuyết",
                'Mixed Snow And Sleet' => "Mưa tuyết",
                'Freezing Drizzle' => "Mưa phùn",
                'Freezing Rain' => "Mưa đá",
                'Snow Flurries' => "Mưa tuyết",
                'Light Snow Showers' => "Có mưa tuyết",
                'Blowing Snow' => "Bão Tuyết",
                'Mostly Sunny' => "Nhiều nắng",
                'Mostly Cloudy' => "Nhiều mây",
                'Partly Cloudy' => "Ít mây",
                'Mixed Rain And Hail' => "Mưa dông",
                'Isolated Thunderstorms' => "Mưa bão",
                'Scattered Thunderstorms' => "Mưa bão",
                'Scattered Showers' => "Mưa rải rác",
                'Heavy Snow' => "Tuyết dày",
                'Scattered Snow Showers' => "Tuyết rải rác",
                'Thundershowers' => "Mưa rào có sấm sét",
                'Snow Showers' => "Tuyết rơi",
                'Isolated Thundershowers' => "Mưa rào có sấm sét",
                'Thunderstorms' => "Mưa dông rải rác",
                'Showers' => "Mưa rào",
                'Drizzle' => "Mưa bụi",
                'Snow' => "Tuyết rơi",
                'Hail' => "Gió mạnh",
                'Sleet' => "Mưa tuyết",
                'Dust' => "Bụi",
                'Mist' => "Sương mù nhẹ",
                'Fog' => "Sương mù",
                'Foggy' => "Sương mù",
                'Haze' => "Nhiều mây",
                'Smoky' => "Mây đen",
                'Blustery' => "Gió rất to",
                'Windy' => "Gió to",
                'Cold' => "Trời lạnh",                
                'Cloudy' => "Mây mù",                
                'Clear' => "Trời đẹp",
                'Sunny' => "Trời nắng",
                'Fair' => "Trời đẹp",                
                'Hot' => "Trời nóng",
                'AM Clouds/PM Sun' => "Sáng mây Chiều nắng",
                'AM' => "",
                'PM' => "",
                '/' => "",
                'Not Available' => ""
            );

            $current = $item->xpath('yweather:condition');
            $forecast = $item->xpath('yweather:forecast');

            $current = $current[0];

            // Weather forecast container
            $weather['city'] = $location[0]['city'];
            $weather['temp'] = $current['temp'];
            $weather['conditions'] = str_replace(array_keys($conditions), $conditions, $current['text']);
            $weather['icon_url'] = str_replace("http://l.yimg.com/a/i/us/we/52/", $base_url."style/images/weather/", "http://l.yimg.com/a/i/us/we/52/" . $current['code'] . ".png"); //"http://l.yimg.com/a/i/us/we/52/" . $current['code'] . ".gif";
            
            // Show 4 day forecast below current weather forecast
            for($i = 0; $i < 4; $i++) {
                $weather['day'.$i] = str_replace(array_keys($days), $days, $forecast[$i]['day']);
                $weather['date'.$i] = $forecast[$i]['date'];
                $weather['low'.$i] = $forecast[$i]['low'];
                $weather['high'.$i] = $forecast[$i]['high'];
                $weather['text'.$i] = str_replace(array_keys($conditions), $conditions, $forecast[$i]['text']);
                $weather['code'.$i] = $forecast[$i]['code'];
                $weather['icon_url'.$i] = str_replace("http://l.yimg.com/a/i/us/we/52/", $base_url."style/images/weather/", "http://l.yimg.com/a/i/us/we/52/" . $forecast[$i]['code'] . ".png"); //"http://l.yimg.com/a/i/us/we/52/" . $forecast[$i]['code'] . ".gif";
            }                        
            return $weather;
        }
    }          
    return 0;
}

?>
